home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 26.zip / BS1 part 26 / Powervisor v1.10b disk2.adf / Screen < prev    next >
Text File  |  1991-09-22  |  42KB  |  1,048 lines

  1. *-------------------*
  2. * Tutorial : screen * Sun Sep 22 12:00:23 1991
  3. *-------------------*
  4.  
  5. ===================== Commands used in this tutorial =========================
  6.  
  7.    active      Set active logical window
  8.    awin        Open the 'Rexx' logical window
  9.    color       Set RGB colors for PowerVisor screen
  10.    colrow      Set the number of columns and rows for a logical window
  11.    current     Make another logical window the current one
  12.    dwin        Open the 'Debug' logical window
  13.    fit         Fit the logical window to the visible size
  14.    home        Go to the home position of the logical window
  15.    list        Show a list (tasks, libraries, message ports, ...)
  16.    log         Log output to a file
  17.    memory      List memory
  18.    mode        Set PowerVisor preferences
  19.    move        Move a physical window
  20.    on          Execute command on other logical window
  21.    owin        Open the 'PPrint' logical window
  22.    prefs       Set preferences
  23.    refresh     Refresh a command on the 'Refresh' logical window
  24.    rwin        Open the 'Refresh' logical window
  25.    screen      Set PowerVisor on another screen
  26.    setfont     Set another font on a logical window
  27.    size        Size a physical window
  28.    to          Redirect output to a file
  29.    xwin        Open the 'Extra' logical window
  30.  
  31.  
  32. ===================== Functions used in this tutorial ========================
  33.  
  34.    cols        Ask the number of columns on a logical window
  35.    getactive   Ask the active logical window
  36.    getlwin     Ask the current logical window
  37.    getcol      Ask the prefered number of columns on a logical window
  38.    getrow      Ask the prefered number of rows on a logical window
  39.    lines       Ask the number of rows on a logical window
  40.  
  41.  
  42. ============================== Introduction ==================================
  43.  
  44. The screen and window of PowerVisor are very customizable.
  45. Interlace, pal, ntsc, vga, even the A2024 monitor, colors, fonts, ... .
  46. All these characteristics and more are customizable. Read this tutorial
  47. for more information about these options.
  48.  
  49.  
  50. ========================== The PowerVisor Screen =============================
  51.  
  52. Normally PowerVisor uses an ²Intuition screen for output.
  53. The default screen has the following characteristics :
  54.  
  55.   - ²2 bitplanes (four colours)
  56.   - ²non interlaced
  57.   - ¹PAL, ¹NTSC, ¹VGA or ¹A2024 depending on your ²preferences settings
  58.     if you use AmigaDOS 2.0.
  59.     If you use AmigaDOS 1.2 or 1.3 PowerVisor will open a screen as big as
  60.     the ²workbench screen would be if it is not interlaced.
  61.   - Size is inherited from the preferences settings. PowerVisor uses
  62.     ¹overscan if you set overscan in preferences (only AmigaDOS 2.0).
  63.   - ¹Colours are inherited from the Workbench.
  64.   - ¹Topaz.font 8 is uses for all text (default).
  65.   - The screen is a ²public screen if you have AmigaDOS 2.0 (with the
  66.     name ¹'PowerVisorScreen').
  67.  
  68. The PowerVisor screen is partitioned in ²logical windows (see the Logical
  69. Windows section of this tutorial file). PowerVisor gives you the option to
  70. open its window on ²another screen, to change the colours, switch to
  71. interlace, switch to another monitor (2.0) or to use more bitplanes.
  72.  
  73. Note that in this tutorial we constantly talk about three different things :
  74.  
  75.    - The ²PowerVisor screen : This is the Intuition screen. It is possible
  76.      that this screen does not exist. In that case, PowerVisor resides
  77.      on another screen.
  78.    - The ²PowerVisor window : This is the Intuition window that normally
  79.      lives on the screen. When we talk about the PowerVisor window we
  80.      are talking about the physical window 'Main'. PowerVisor can have
  81.      more physical windows.
  82.    - ²Physical windows : These correspond directly with Intuition windows.
  83.    - ²Logical Windows : Each physical window is partitioned in logical
  84.      windows, do not confuse a logical window with an Intuition window.
  85.  
  86.  
  87. ========================== Reading this chapter ==============================
  88.  
  89. All the examples in this chapter assume that you have an ²NTSC monitor.
  90. If this is not the case replace 'NTSC' with 'PAL' and 'PAL' with 'NTSC'
  91. (in your mind) when you read this chapter. I also assume that you have
  92. started a vanilla PowerVisor. This means that there was no
  93. ¹s:PowerVisor-config and a minimal ¹s:PowerVisor-startup when you started
  94. PowerVisor.
  95.  
  96.  
  97. ========================= Interlace and Monitors =============================
  98.  
  99. If the PowerVisor screen is open (default when you start PowerVisor),
  100. you can switch to interlace or to another monitor using the 'mode'
  101. command (This command is also used for other settings, see the
  102. appropriate documentation). The 'mode' command with screen arguments
  103. has no effect when PowerVisor resides on another screen.
  104.  
  105. The following 'mode' arguments have something to do with screens or
  106. windows :
  107.  
  108.    - lace         switch to ¹interlace
  109.    - nolace       switch to ²non interlace (default)
  110.  
  111.    - pal          ²pal monitor (AmigaDOS 2.0)       640x256 or 640x512
  112.    - ntsc         ²ntsc monitor (AmigaDOS 2.0)      640x200 or 640x400
  113.    - vga          ²vga monitor (AmigaDOS 2.0)       640x480 or 640x960
  114.    - viking       ²a2024 monitor (AmigaDOS 2.0)     1024x1008
  115.  
  116.    - fancy        use ²two bitplanes (default)
  117.    - nofancy      use only ²one bitplane
  118.  
  119.    - sbottom      ¹sizegadget is included in ²bottom border (default)
  120.                   this option is only useful if there are more physical
  121.                   windows, or if the 'Main' physical window is a
  122.                   ²non-backdrop window.
  123.    - nosbottom    ¹sizegadget is included in ²right border
  124.  
  125. Here are some examples :
  126.  
  127. < mode lace nofancy <enter>
  128.  
  129. You will now get a one bitplane interlace screen (if you have enough
  130. memory).
  131.  
  132. Note that PowerVisor only uses half the interlaced screen for output
  133. (try some commands with a lot of output to test this: 'help commands',...).
  134. This is normal. We will see later how you can make the logical window
  135. ²full size again (in the Logical Windows section).
  136.  
  137. Back to normal with :
  138.  
  139. < mode fancy nolace <enter>
  140.  
  141.  
  142. =========================== Setting the colours ==============================
  143.  
  144. Try :
  145.  
  146. < color 0 0 0 7 <enter>
  147. < color 1 15 15 15 <enter>
  148.  
  149. This will install a blue background and a white foreground. (Note that
  150. this command only works if PowerVisor is on its own screen (see later for
  151. more info)).
  152.  
  153.  
  154. ======================= PowerVisor on other screen ===========================
  155.  
  156. You can open the ²PowerVisor window on each screen available in the system.
  157. However, when you do this you must be very careful NOT to close the screen
  158. where PowerVisor resides.
  159.  
  160. Example :
  161.  
  162. List all screens :
  163.  
  164. < list scrs <enter>
  165. > Screen name         : Address  Left  Top Width Height FirstWindow
  166. > ---------------------------------------------------------------------------
  167. > PowerVisor   (V1.00/: 07EA28F0    0    0   692    442 07EA67B8
  168. > Workbench Screen    : 07E280D0    0 -582   692   1024 07E1F0F8
  169.  
  170. For example, let's open on the ²Workbench screen :
  171.  
  172. < screen Workbench <enter>
  173.  
  174. You can now change the size of the PowerVisor window :
  175.  
  176. < size main 600 150 <enter>
  177.  
  178. This command sizes the specified ²physical window ('Main' in this case). The
  179. 'size' command only works on ²non-backdrop windows.
  180.  
  181. You can also move the PowerVisor window with :
  182.  
  183. < move main 10 10 <enter>
  184.  
  185. You can also resize the PowerVisor window using the size gadget.
  186. The 'screen' command normally opens a window with the same size as the previous
  187. size. If this is too big for the new screen, PowerVisor will make the window
  188. as big as possible.
  189.  
  190. When PowerVisor is on another screen, you cannot use the following commands :
  191.  
  192.    - color
  193.    - mode with one of the following arguments :
  194.          fancy,nofancy,pal,ntsc,vga,viking,lace,nolace
  195.  
  196. If you are configuring PowerVisor in a special way you can also make the
  197. 'Main' physical window a non-backdrop window on the PowerVisor screen :
  198.  
  199. < screen 0 <enter>
  200.  
  201. Now you can size and move the PowerVisor window.
  202.  
  203. Go back to the PowerVisor intuition screen :
  204.  
  205. < screen <enter>
  206.  
  207. Note that the 'screen' commands moves all physical windows (see later)
  208. present.
  209.  
  210.  
  211. ====================== The PowerVisor window system ==========================
  212.  
  213. The ³³PowerVisor window system is fairly complex. At the hart of the system
  214. you have the ²²physical windows. These correspond directly with
  215. ²Intuition windows. Normally there is only one physical window called 'Main'.
  216. This window also contains the ¹stringgadget. You can open more physical
  217. windows if you want (see later).
  218.  
  219. Each physical window has a ³tree of boxes. A ¹¹box is some space that can
  220. later be used by ²logical windows. By default there is only one box on
  221. a physical window. This box is called the ¹masterbox and is always present
  222. (you can't remove this box). When you open more logical windows on a physical
  223. windows the appropriate boxes are made automatically, so you generally need
  224. not concern yourselves with these objects.
  225.  
  226. A box is not always used by a logical window. Sometimes it is used by two
  227. other boxes. For example: if you want three logical windows, two above
  228. each other and the third one right of the previous two. You now seem to
  229. have three boxes :
  230.  
  231.                   +---------+-------+
  232.                   |         |       |
  233.                   |         |       |
  234.                   |    1    |       |
  235.                   |         |       |
  236.                   |         |       |
  237.                   +---------+   3   |
  238.                   |         |       |
  239.                   |         |       |
  240.                   |    2    |       |
  241.                   |         |       |
  242.                   |         |       |
  243.                   +---------+-------+
  244.  
  245. In this example there are three boxes containing a logical window. But there
  246. are in fact five boxes on the physical window.
  247. First the masterbox :
  248.  
  249.                   +-----------------+
  250.                   |                 |
  251.                   |                 |
  252.                   |                 |
  253.                   |                 |
  254.                   |                 |
  255.                   |        4        |
  256.                   |                 |
  257.                   |                 |
  258.                   |                 |
  259.                   |                 |
  260.                   |                 |
  261.                   +-----------------+
  262.  
  263. The masterbox contains two boxes :
  264.  
  265.                   +---------+-------+
  266.                   |         |       |
  267.                   |         |       |
  268.                   |         |       |
  269.                   |         |       |
  270.                   |         |       |
  271.                   |    5    |   3   |
  272.                   |         |       |
  273.                   |         |       |
  274.                   |         |       |
  275.                   |         |       |
  276.                   |         |       |
  277.                   +---------+-------+
  278.  
  279. Box 5 contains two other boxes and box 3 contains a logical window.
  280.  
  281. It is easy to see the tree structure for the boxes. Box 4 is the masterbox
  282. and only the leaves of the tree contain logical windows.
  283.  
  284.                            +---+
  285.                            | 4 |
  286.                            +---+
  287.                             / \
  288.                            /   \
  289.                           /     \
  290.                        +---+   +---+
  291.                        | 5 |   | 3 |
  292.                        +---+   +---+
  293.                         / \
  294.                        /   \
  295.                       /     \
  296.                    +---+   +---+
  297.                    | 1 |   | 2 |
  298.                    +---+   +---+
  299.  
  300. All boxes containing two other boxes automatically draw a ²²size bar.
  301. By ¹dragging this size bar you can change the size of the two child
  302. boxes. For example, dragging the ³vertical size bar between box 5
  303. and box 3 (thus managed by box 4) changes the size of box 5,3,1 and 2.
  304. Dragging the ³horizontal size bar between box 1 and 2 (managed by
  305. box 5) only changes the size of box 1 and 2. Note that each parent
  306. box remembers the size for the two children with one number: this number
  307. is the percentage (x10) that child A may use of the parent box. This
  308. means that if you change the size of a box, all children are resized
  309. proportionally.
  310.  
  311. When you add a logical window using the appropriate commands (see later),
  312. PowerVisor will add two boxes. For example, if you want to add a logical
  313. window below all boxes already visible, the tree will look as follows
  314. (box 6 and 7 are new) :
  315.  
  316.                            +---+
  317.                            | 6 |
  318.                            +---+
  319.                             / \
  320.                            /   \
  321.                           /     \
  322.                        +---+   +---+
  323.                        | 7 |   | 4 |
  324.                        +---+   +---+
  325.                                 / \
  326.                                /   \
  327.                               /     \
  328.                            +---+   +---+
  329.                            | 5 |   | 3 |
  330.                            +---+   +---+
  331.                             / \
  332.                            /   \
  333.                           /     \
  334.                        +---+   +---+
  335.                        | 1 |   | 2 |
  336.                        +---+   +---+
  337.  
  338. (Note that the masterbox has changed)
  339. The physical window changes to :
  340.  
  341.                   +---------+-------+
  342.                   |         |       |
  343.                   |    1    |       |
  344.                   |         |       |
  345.                   +---------+   3   |
  346.                   |         |       |
  347.                   |    2    |       |
  348.                   |         |       |
  349.                   +---------+-------+
  350.                   |                 |
  351.                   |        7        |
  352.                   |                 |
  353.                   +-----------------+
  354.  
  355.  
  356. A ²²logical window is the object you are probably going to use most. It can
  357. contain text. To know where the text must appear in the ²physical window,
  358. the logical window uses a ¹box. The standard logical window for output is
  359. the ³'Main' logical window. This logical window always resides on the
  360. ³'Main' physical window (but there can be more logical windows on the
  361. 'Main' physical window). There are six predefined logical windows :
  362.  
  363.    - Main         for normal output
  364.    - Extra        for output
  365.    - Refresh      used by the 'refresh' command for output
  366.    - Debug        for the fullscreen debugger
  367.    - Rexx         if present, all output from a ¹rexx command goes to this
  368.                   logical window. Otherwise the output goes to the current
  369.                   logical window.
  370.    - PPrint       if present, all ¹PortPrint messages go to this logical window.
  371.                   Otherwise the output goes to the current logical window.
  372.  
  373. You can add your own logical windows.
  374.  
  375. All physical windows currently present can be found in the 'pwin' list.
  376. All logical window can be found in the 'lwin' list.
  377.  
  378.  
  379. ====================== The size of a logical window ==========================
  380.  
  381. A logical window contains text. It has a certain ³number of rows and a
  382. certain ³number of columns. Normally this number is independent of the
  383. ²visible size of the logical window. What this means is that the number of
  384. columns and rows remains the same even if you switch to interlace or if
  385. you change the size of a logical window (by dragging the ²size bar).
  386. This is the reason that PowerVisor only uses half the screen when you
  387. switch from ¹non-interlaced to ¹interlaced. There are several solutions to
  388. this problem :
  389.  
  390. - If you want the number of columns and rows automatically ¹fit for the
  391.   visible size you can make the logical window ¹autoscalable. You can
  392.   do this with the 'colrow' command (see later). The disadvantage of this
  393.   is that the logical window will be cleared everytime the visible size
  394.   changes. If you want you can also make the logical window autoscalable
  395.   for the number of rows only, or for the number of columns only.
  396.  
  397. - If interlace is your default screen type (defined with the 'mode' and
  398.   the 'saveconfig' commands) the 'Main' logical window will be bigger.
  399.   If you switch to non-interlace, the number of columns and rows will
  400.   remain the same. This means that you can scroll in the logical window
  401.   (see later).
  402.  
  403. - You can explicitelly tell PowerVisor to fit the 'Main' logical window
  404.   to the visible size with the 'fit' command (see later). This is not
  405.   the same as the first method since the window will have a ²fixed size
  406.   (not autoscalable).
  407.  
  408. - You can explicitelly set the size of the 'Main' logical window using
  409.   the 'colrow' command. If this size is too big for the visible size,
  410.   you will be able to ¹scroll in the logical window.
  411.  
  412. The first, second and fourth methods can be made permanent with the
  413. 'mode', 'prefs' and 'saveconfig' commands (see the 'Installing
  414. PowerVisor' chapter).
  415.  
  416. Note that this discussion is also valid for other logical windows as well.
  417. All the standard logical windows behave a bit different (you can
  418. change this behaviour with the 'prefs' command) :
  419.  
  420.    - Main      number of columns and rows is set to a fixed value. This value
  421.                is the maximum number of columns and rows at the time the
  422.                logical window is created.
  423.    - Extra     like 'Main'
  424.    - Refresh   the number of columns is set to a fixed value. This value is
  425.                the maximum number of columns at the time the logical window
  426.                is created. The number of rows is fixed and always set to
  427.                50.
  428.    - Debug     the number of columns is fixed and set to 90. The number of
  429.                rows is fixed and set to 42.
  430.    - Rexx      Like 'Refresh'
  431.    - PPrint    Like 'Refresh'
  432.  
  433.  
  434. ================= Standard behaviour for logical windows =====================
  435.  
  436. All logical windows can behave different. Here are the possible behaviours
  437. for logical windows :
  438.  
  439.    ¹-MORE- enabled or disabled
  440.                When enabled, PowerVisor will pause when there is a full
  441.                window of output.
  442.    ¹Interrupt/Pause enabled or disabled
  443.                When enabled you can use the <esc> and <right-alt>+<help>
  444.                keys to interrupt or pause PowerVisor when PowerVisor is
  445.                sending output to the logical window.
  446.    ²Home position is top-visible or real-top
  447.                PowerVisor maintains a home position for each logical window.
  448.                This position is either the ²real top of the logical window
  449.                or the first line that is visible (starting from above)
  450.                of the bottom visible half of the logical window.
  451.                When a ³top-visible logical window is cleared, PowerVisor will
  452.                scroll to the bottom part of the logical window and set
  453.                the current cursor position to the first line of this visible
  454.                part.
  455.                When a ³real-top logical window is cleared, PowerVisor will
  456.                scroll to the top part of the logical window and set the
  457.                current cursor position to the first line.
  458.                There is yet another difference between top-visible and
  459.                real-top logical windows. When the visible size of a logical
  460.                window changes (this does not always imply a change of the
  461.                number of rows and columns), PowerVisor will try to keep
  462.                the top visible line (for real-top logical windows) or the
  463.                bottom visible line (for top-visible logical windows) on the
  464.                same visible position.
  465.    ²Status line on/off
  466.                The statusline is the bar at the top of a logical window.
  467.    ³Auto Output Snap on/off
  468.                When enabled, PowerVisor will automatically scroll the logical
  469.                window to the position of the appearing output. This means
  470.                that you will always see all new output on the logical window.
  471.                When disabled, PowerVisor will not scroll and output may
  472.                appear off screen. Note that this flag is only useful when
  473.                the logical window is bigger than the current visible size.
  474.  
  475. The standard logical windows have the following behaviour :
  476.  
  477.    - Main      -MORE- enabled/disabled depending on the setting of
  478.                the 'mode' command (see later)
  479.                Interrupt/Pause enabled
  480.                Home position is top-visible
  481.                Status line on
  482.                Auto Output Snap is on
  483.    - Extra     -MORE- disabled
  484.                Interrupt/Pause enabled
  485.                Home position is top-visible
  486.                Status line on
  487.                Auto Output Snap is on
  488.    - Refresh   -MORE- disabled
  489.                Interrupt/Pause disabled
  490.                Home position is real-top
  491.                Status line on
  492.                Auto Output Snap is off
  493.    - Debug     -MORE- disabled
  494.                Interrupt/Pause disabled
  495.                Home position is real-top
  496.                Status line on
  497.                Auto Output Snap is off
  498.    - Rexx      -MORE- disabled
  499.                Interrupt/Pause disabled
  500.                Home position is top-visible
  501.                Status line on
  502.                Auto Output Snap is off
  503.    - PPrint    -MORE- disabled
  504.                Interrupt/Pause disabled
  505.                Home position is top-visible
  506.                Status line on
  507.                Auto Output Snap is off
  508.  
  509. All other logical windows have the following default behaviour :
  510.  
  511.    -MORE- disabled
  512.    Interrupt/Pause enabled
  513.    Home position is top-visible
  514.    Status line on
  515.    Auto Output Snap is off
  516.  
  517. You can change the ²default behaviour for the standard logical windows
  518. with the 'prefs' command. You can change the behaviour for each logical
  519. window with the 'setflags' command (see later).
  520.  
  521.  
  522. ==================== Opening standard logical windows ========================
  523.  
  524. There are predefined commands to open the ³standard logical windows :
  525.  
  526.    - xwin   Extra
  527.    - dwin   Debug
  528.    - rwin   Refresh
  529.    - awin   Rexx
  530.    - owin   PPrint
  531.  
  532. These commands open/close the specified logical window at the top. This means
  533. that they split the ¹masterbox and add a new box above all other logical
  534. windows. This box gets 30 % of the total physical window height. The logical
  535. windows in the remaining 70 % are shrinked accordingly. These predefined
  536. commands always open the window on the ³'Main' physical window.
  537.  
  538. These commands also have an optional argument to indicate the number of
  539. lines you want in the logical window.
  540.  
  541.  
  542. Some examples :
  543.  
  544. < xwin <enter>
  545.  
  546. Now we have two logical windows on our 'Main' physical window. These two
  547. logical windows are called 'Main' and 'Extra'. You can change the size
  548. of the windows by dragging the ²horizontal bar.
  549.  
  550. You can now use this window instead of 'Main' for output :
  551.  
  552. < current extra <enter>
  553.  
  554. Type some command :
  555.  
  556. < list task <enter>
  557. > Task node name      : Node     Pri StackPtr  StackS Stat Command         Acc
  558. > ----------------------------------------------------------------------------
  559. > Background Process  : 07E28330 00  07E2D500    4096 Wait iprefs     (02) -
  560. > PowerSnap 1.0 by Nic: 07E51228 05  07E51A72    2000 Wait            PROC -
  561. > Background Process  : 07E5B3E8 00  07E5AD92    4096 Wait addtools   (06) -
  562. > SYS:System/CLI      : 07E5CAA8 00  07E5D9E6    4096 Wait            (00) -
  563. > * Blanker           : 07E605D8 00  07E615E4    4000 Wait            PROC -
  564. > RexxMaster          : 07E4AD58 04  07E4B59A    2048 Wait            (00) -
  565. > ...
  566.  
  567. The output appears on 'Extra'.
  568.  
  569. < current main <enter>
  570.  
  571. Now all following output will appear on 'Main'.
  572.  
  573. You can also use the 'on' command :
  574.  
  575. < on extra list task <enter>
  576. > Task node name      : Node     Pri StackPtr  StackS Stat Command         Acc
  577. > ----------------------------------------------------------------------------
  578. > Background Process  : 07E28330 00  07E2D500    4096 Wait iprefs     (02) -
  579. > PowerSnap 1.0 by Nic: 07E51228 05  07E51A72    2000 Wait            PROC -
  580. > Background Process  : 07E5B3E8 00  07E5AD92    4096 Wait addtools   (06) -
  581. > SYS:System/CLI      : 07E5CAA8 00  07E5D9E6    4096 Wait            (00) -
  582. > * Blanker           : 07E605D8 00  07E615E4    4000 Wait            PROC -
  583. > RexxMaster          : 07E4AD58 04  07E4B59A    2048 Wait            (00) -
  584. > ...
  585.  
  586. This command temporarily sets the current logical window to the parameter
  587. supplied. It then executes the following command ('list task' in this
  588. example).
  589.  
  590. To see all logical windows you can list them :
  591.  
  592. < list lwin <enter>
  593. > Logical Window      : Node
  594. > ---------------------------------------------------------------------------
  595. > Extra               : 07EBCB20
  596. > Main                : 07E25A60
  597.  
  598. Close 'Extra' with :
  599.  
  600. < xwin <enter>
  601.  
  602.  
  603. =================== Opening logical windows in general =======================
  604.  
  605. Instead of using the predefined commands to open the standard logical windows
  606. you can also use the more powerful 'openlw' and 'closelw' commands. These
  607. commands can also be used to open other logical windows.
  608.  
  609. Some examples :
  610.  
  611. To open the 'Extra' logical window right from the 'Main' logical window
  612. (instead of above the 'Main' logical window) you can use :
  613.  
  614. < openlw main extra 80 40 main r <enter>
  615.  
  616. The first argument is the ²physical window where we want to open the new
  617. ²logical window. The second argument is the name of the logical window.
  618. The two following arguments are the number of columns and rows. If you
  619. want an ³autoscale logical window you can use -1 for one or both of
  620. these arguments. The two last arguments specify where you want to open
  621. the 'Extra' logical window. In this case we opened it at the right ('r')
  622. of the 'Main' logical window.
  623.  
  624. Do not close this logical window yet. We will first open a third :
  625.  
  626. < openlw main testwindow 100 -1 extra u <enter>
  627.  
  628. This window is autoscalable for the height. This means that when you change
  629. the horizontal visible size nothing will happen, but if you change the
  630. visible vertical size the window will be cleared and the number of columns
  631. will change.
  632. Now we have three logical windows on the 'Main' physical window.
  633.  
  634. Suppose we wanted to open a logical window at the bottom of the physical
  635. window. This can be done with :
  636.  
  637. < openlw main bottomwindow 80 40 main pd <enter>
  638.  
  639. The 'pd' argument means that we first take the parent and then go down.
  640. You will probably understand how this works when you think how PowerVisor
  641. manages ²logical windows and ¹boxes. When you said something like 'extra u'
  642. some commands ago, PowerVisor interpreted this as : take the box containing
  643. the 'extra' logical window. Split this box (make a new parent instead of
  644. the old box and make the existing 'extra' box a child of this new parent,
  645. also create a new box as the brother of the 'extra' box) and put the new
  646. logical window above the 'extra' logical window. When you say something like
  647. 'main pd' in the previous command, PowerVisor interpretes this as : take
  648. the box containing the 'main' logical window. Take the parent of this box
  649. (the 'p' stands for parent) and perform the same action as described before
  650. on this parent box.
  651.  
  652. You can use as many p's in front of the direction argument as you wish.
  653. You can use u (up), d (down), r (right) or l (left) for direction
  654. arguments.
  655.  
  656. To close all logical windows use :
  657.  
  658. < closelw extra <enter>
  659. or
  660. < xwin <enter>
  661.  
  662. < closelw testwindow <enter>
  663. < closelw bottomwindow <enter>
  664.  
  665. Now we are back with only one logical window: 'Main'.
  666.  
  667.  
  668. ======================== Opening physical windows ============================
  669.  
  670. You are not limited to the default physical window 'Main'. You can open
  671. five additional ²physical windows (This limitation stems from the fact that
  672. PowerVisor only has 5 remaining signals. In a later release of PowerVisor
  673. this limitation will probably be removed). These physical windows can contain
  674. as many logical windows as memory permits.
  675.  
  676. For example, open a physical windows and two logical windows in it :
  677.  
  678. < openpw test 0 0 400 150 <enter>
  679.  
  680. You now have an extra window on position (0,0), width 400 and height 150.
  681.  
  682. < openlw test leftwin 80 40 <enter>
  683.  
  684. Note that for the first logical window on a physical window you need not
  685. give positional arguments.
  686.  
  687. < openlw test rightwin 80 40 leftwin r <enter>
  688.  
  689. Some tests :
  690.  
  691. < on leftwin list wins <enter>
  692. > ...
  693.  
  694. < on rightwin list scrs <enter>
  695. > ...
  696.  
  697. You need not close the logical windows. If you close the physical window
  698. the logical windows are closed automatically :
  699.  
  700. < closepw test <enter>
  701.  
  702.  
  703. ========================== Active versus current =============================
  704.  
  705. The ³³current logical window is simply the window receiving all output from
  706. the commands you type on the commandline. The default current logical window
  707. is 'Main'. With the 'current' command you can change this permanently or
  708. you can use the 'on' command to execute one command (or more using groups)
  709. on another current logical window.
  710.  
  711. The ³³active logical window is the logical window with the full ²size bar
  712. (blue if you have the standard AmigaDOS 2.0 ¹palette and if you use 2
  713. bitplanes). You can scroll the active logical window (see the next section).
  714. The most important distinction (note that this is new for version V1.10
  715. of PowerVisor) is the fact that input is not directed to the current logical
  716. window but to the active one. For normal commandline mode this makes no
  717. difference because all logical windows will accept the input, execute the
  718. command and send the output to the current logical window. But what happens
  719. if a certain command executing with a certain current logical window asks
  720. for input ? PowerVisor will block all other logical windows and only accept
  721. input if the active logical window is the one waiting for input.
  722.  
  723. An example :
  724.  
  725.    Assume that you are running an ARexx script and you have the 'Rexx'
  726.    logical window open. At some intervals this script sends output to
  727.    the 'Rexx' window. You are simply typing commands and looking at the
  728.    output on the 'Main' logical window (the current logical window).
  729.    Note that when ARexx executes a command, the current logical window
  730.    is temporarily set to 'Rexx'.
  731.  
  732.    The 'Main' logical window is also the active one.
  733.  
  734.    At some moment the ARexx script needs input. At once you will not be able
  735.    to type. The commandline will be locked and the current list indicator
  736.    will have changed to '------'. If you see this you know that some other
  737.    logical window is waiting for input. With the <tab> key you make the
  738.    'Rexx' logical window active. The current list indicator changes
  739.    to '-HALT-' or '????' or some other string depending on the type of input
  740.    the ARexx program wants. The input is unlocked and you can type the input
  741.    needed for the ARexx program.
  742.  
  743.  
  744. In summary the following things are valid for a current logical window :
  745.  
  746.    - all output appears there (note that some commands executed in special
  747.      environments like ARexx have other current logical windows)
  748.    - when a command executing on a certain current logical window wants
  749.      input, all other logical windows are locked (the current list indicator
  750.      changes to '------' if one of these logical windows is active)
  751.  
  752. The following things are valid for an active logical window :
  753.  
  754.    - you can scroll (next section) the active logical window
  755.    - you can interrupt the command (with <esc>) when the active logical
  756.      window is equal to the current logical window for that command
  757.    - you can pause the output (with <right-alt>+<help>) when the active
  758.      logical window is equal to the current logical window for that
  759.      command
  760.    - the active logical window also determines the state of the current
  761.      list indicator and the possibility to use input for that logical window
  762.  
  763.  
  764. The following current list indicators are used in PowerVisor :
  765.  
  766.    -MORE-   the command has just printed a full page of output, press space
  767.             to continue the output (see the 'More...' section later in this
  768.             file)
  769.    -HALT-   you have paused the command with <right-alt>+<help> or the
  770.             command is waiting for a key (with the 'key' function)
  771.    -BUSY-   you can't use input in any logical window, PowerVisor is busy
  772.             with something (executing a command for example)
  773.    ------   the logical window is locked for input. This means that there is
  774.             another logical window waiting for input (cycle with <tab> until
  775.             you find that other logical window)
  776.    ????>    some command is waiting for a full line of input (with the 'scan'
  777.             command)
  778.    Task>    'Task', 'Libs', ... or some other current list simply indicates
  779.             that you are in normal command executing mode. All logical
  780.             window accept input in this mode but output is always directed
  781.             to the current logical window
  782.    ?        something else. This is the same as with '????>' but you can
  783.             change the current list indicator with the 'scan' command
  784.  
  785.  
  786. Note. There is a bug in PowerVisor for AmigaDOS 1.2/1.3. I have not been
  787. able to find a way to unactivate (unselect) a stringgadget. So you will
  788. sometimes have to unselect the gadget yourselves (press enter or click
  789. on the window) before you can press the key. I'm sorry for this.
  790. In AmigaDOS 2.0 everything is fine.
  791.  
  792.  
  793. ====================== Scrolling in logical windows ==========================
  794.  
  795. As was mentioned before, the number of columns and rows in a logical window
  796. can be greater than the visible number of columns and rows. If this is
  797. the case you can ¹¹scroll in the logical window.
  798.  
  799. The window that will scroll when you use the appropriate ¹keys (see below)
  800. is the one that is active (see the previous section).
  801.  
  802. The following keys are defined (numeric keypad) :
  803.  
  804.    - <l-alt>+<home>   (7)  go to the top left position in the logical window
  805.    - <l-alt>+<end>    (1)  go to the bottom left position
  806.    - <l-alt>+<pgup>   (9)  scroll 5 lines up
  807.    - <l-alt>+<pgdn>   (3)  scroll 5 lines down
  808.    - <l-alt>+<arrows> (2,4,6,8)
  809.                            scroll one line/column in the right direction
  810.    - <l-alt>+<cntr>   (5)  go to the complete right
  811.    - <tab>                 make the next logical window active
  812.  
  813.  
  814. To let you experiment with all keys try the following :
  815.  
  816. < colrow main 100 80 <enter>
  817.  
  818. This command sets the number of columns and rows to 100 and 80
  819. resp. Now put some output on the screen (with 'memory' or 'list')
  820. and scroll in all directions.
  821.  
  822. Note that the little box in the statusline changes when you scroll.
  823. This box is an indicator of where you are in the logical window. If you
  824. can't scroll (because the number of columns and rows is less or equal than
  825. the number of columns and rows visible) the box will be full. Otherwise
  826. it represents the position of the visible size of the logical window.
  827.  
  828.  
  829. ============================ Setting the Font ================================
  830.  
  831. You can install a different ²non-proportional font for each logical window.
  832. The ²default font is always ²'topaz 8'.
  833.  
  834. Open the 'Debug' window :
  835.  
  836. < dwin <enter>
  837.  
  838. (Ignore the 'task not loaded' message, you will need this later when you
  839. start debugging).
  840.  
  841. < setfont debug topaz.font 9 <enter>
  842.  
  843. You will see that the size of the letters change.
  844. The fonts you want to use must be either memory resident or available in
  845. the 'fonts:' directory.
  846.  
  847. < setfont main courier.font 13 <enter>
  848.  
  849. (You must have a non-proportional courier.font in your 'fonts:' directory to
  850. do this).
  851.  
  852. To restore everything type :
  853.  
  854. < dwin <enter>
  855. < setfont main topaz.font 8 <enter>
  856.  
  857.  
  858. ============================ The Snap Feature ================================
  859.  
  860. (Also see the 'Snapping Away' section of the 'GettingStarted' tutorial file).
  861.  
  862. If you click anywhere on the PowerVisor window (except on size bars),
  863. PowerVisor will ¹'snap' the word under the mousepointer to
  864. the commandline. If there is no word under the mousepointer nothing
  865. happens.
  866.  
  867. This feature works on all logical windows regardless of their size, font,
  868. number of columns, ...
  869.  
  870. Note that the snap will not happen if the window is just made active.
  871. You must click twice if the window is not active and you want to snap
  872. something.
  873.  
  874. The 'snapping' feature can behave in different ways. You can use the
  875. 'mode' command to set the behaviour you like most.
  876.  
  877.  
  878. ================================= Refresh ====================================
  879.  
  880. The 'Refresh' logical window is used together with the 'refresh' command.
  881.  
  882. Open the 'Refresh' window and make the window big enough :
  883.  
  884. < rwin <enter>
  885.  
  886. Start the refresh of the current list :
  887.  
  888. < refresh 10 {home;list} <enter>
  889.  
  890. (See the 'Expressions' tutorial file for more info about the grouping
  891. operator '{}').
  892.  
  893. This 'refresh' command will execute 'home' and 'list' one time
  894. each second and send the output to the 'Refresh' logical window.
  895. Using the 'tab' key and the numeric keypad keys (with left-alt) you
  896. can now scroll in this refresh display.
  897.  
  898. To disable the refresh use :
  899.  
  900. < refresh 0 <enter>
  901.  
  902. and close 'Refresh' with :
  903.  
  904. < rwin <enter>
  905.  
  906.  
  907. =============================== Redirection ==================================
  908.  
  909. If you want to ³redirect all output of a logical window to a file you can
  910. use :
  911.  
  912. < log main file <enter>
  913.  
  914. Now all output that appears on 'Main' is also sent to the file 'file'.
  915.  
  916. You can stop the redirection with :
  917.  
  918. < log <enter>
  919.  
  920. or 'log' with another logical window, since there can only be one log
  921. file active at the same time.
  922.  
  923. If you are ²logging output to a file it can be useful to have no output on
  924. the PowerVisor screen. You can accomplish this with :
  925.  
  926. < -list <enter>
  927.  
  928. When you precede a line with '-', PowerVisor will send the output from the
  929. following command to void. Except when you have logging enabled.
  930.  
  931. If you want to temporarily discard the ¹feedback (the reprint of the
  932. executed command on the screen) you can type :
  933.  
  934. < ~list <enter>
  935. > ...
  936.  
  937. This '~' operator is very useful if you want to ³attach a command to a key.
  938. If you precede the command in this attachment with a '~', PowerVisor will
  939. execute the command without showing it on the screen.
  940.  
  941. You can also disable this feedback for all commands you type with :
  942. < mode nofb <enter>
  943.  
  944. To enable it type (this is default) :
  945. < mode fb <enter>
  946.  
  947. If you want to combine these two operators you must use the following order
  948. (See the 'TechnicalInfo' file for more information about commandline
  949. parsing) :
  950.  
  951. < ~-list <enter>
  952.  
  953. If you only want the output from one command in a file you can use the
  954. 'to' command :
  955.  
  956. < to ram:MyOutputFile list task <enter>
  957. > ...
  958.  
  959. The output will still appear on the current logical window. This command
  960. temporarily works like the 'log' command. The real log file is restored
  961. after this command exits.
  962. If you only want output in a file you can use :
  963.  
  964. < -to ram:MyOutputFile list task <enter>
  965.  
  966. or
  967.  
  968. < to ram:MyOutputFile -list task <enter>
  969.  
  970. You can also combine the 'to' and the 'on' command :
  971.  
  972. First open the 'Extra' window (if it is not already open) :
  973. < xwin <enter>
  974.  
  975. < to ram:MyOutputFile on extra list task <enter>
  976. > ...
  977.  
  978. This command will list all tasks on the 'Extra' logical window. No output
  979. will be written to the file since the 'to' command only redirects the output
  980. from the ³current logical window. However :
  981.  
  982. < on extra to ram:MyOutputFile list task <enter>
  983. > ...
  984.  
  985. will also list all task on the extra window. The difference is that this
  986. time there will be output in the file since the 'to' command redirects
  987. the output from the current logical window. At the time the 'to' command
  988. is executed, this logical window is equal to 'Extra'.
  989.  
  990.  
  991. ================================== Pens ======================================
  992.  
  993. You can change the color pens used for various drawing elements with the
  994. 'prefs pens' command. See the 'InstallingPowerVisor' tutor file for
  995. more information.
  996.  
  997.  
  998. ================================ More ... ====================================
  999.  
  1000. If the output of a specific command is too big, PowerVisor will wait and
  1001. display a ¹prompt. Try this :
  1002.  
  1003. Make the number of columns and rows for 'Main' just big enough :
  1004.  
  1005. < fit main <enter>
  1006.  
  1007. List a lot of memory :
  1008.  
  1009. < memory 0 10000 <enter>
  1010. > 00000000: 00000000  07E007CC  00F80834  00F80B16           ...........4....
  1011. > 00000010: 00F80ADA  00F80ADC  00F80ADE  00F80AE0           ................
  1012. > 00000020: 00F80C00  00F80AE4  00F80AE7  00F80AE8           ................
  1013. > 00000030: 00F80AEA  00F80AEC  00F80AEE  00F80AF0           ................
  1014. > 00000040: 00F80AF2  00F80AF4  00F80AF6  00F80AF8           ................
  1015. > 00000050: 00F80AFA  00F80AFC  00F80AFE  00F80B00           ................
  1016. > 00000060: 00F80B02  00F810F4  00F81152  00F81188           ...........R....
  1017. > 00000070: 00F811E6  00F8127C  00F812C6  00F81310           .......|........
  1018. > 00000080: 00F80B70  00F80B72  00F80B74  00F80B76           ...p...r...t...v
  1019. > 00000090: 00F80B78  00F80B7A  00F80B7C  00F80B7E           ...x...z...|...~
  1020. > 000000A0: 00F80B80  00F80B82  00F80B84  00F80B86           ................
  1021. > ...
  1022.  
  1023. After each page of output PowerVisor will display a prompt. Press any key
  1024. to ³continue the output. Press ¹<esc> ³abort the output.
  1025.  
  1026. < <esc>
  1027. > Break...
  1028.  
  1029. Note that PowerVisor will display this prompt after each page. A ¹page is
  1030. defined as the number of lines in the logical window. All these lines
  1031. do not have to be visible. For example, if the 'Main' logical window
  1032. is bigger than the visible size on screen, PowerVisor will only display
  1033. a prompt after the TOTAL number of lines has passed. You can always
  1034. scroll back to view the rest of the output if you want.
  1035.  
  1036. You can disable this prompt with :
  1037.  
  1038. < mode nomore <enter>
  1039.  
  1040. And enable it with :
  1041.  
  1042. < mode more <enter>
  1043.  
  1044. The 'Main' logical window is the only window with a ²'-MORE-' prompt. All
  1045. the other logical windows simply scroll until you interrupt them in one
  1046. way or another. (Note that you can change this behaviour if you want to
  1047. with the 'prefs' command (see the 'InstallingPowerVisor' file)).
  1048.